#!/bin/bash
set -e

# 获取脚本所在绝对路径
base_dir=$(dirname $(readlink -f "$0"))

# 加载环境变量（优先从脚本同级目录的 .env 文件读取）
env_file="${base_dir}/.env"
if [ -f "$env_file" ]; then
    source "$env_file"
else
    echo "WARNING: .env file not found, using default settings!"
fi

# 设置默认值（如果.env中未定义）
DATA_DIR="${DATA_DIR:-/data}"              # 存储路径
ZBX_VERSION="${ZBX_VERSION:-alpine-6.0-latest}" # Zabbix版本

create_dir(){
    echo "Using data directory: $DATA_DIR"
    
    # 创建基础目录
    mkdir -vp "${DATA_DIR}/postgresql/data" \
              "${DATA_DIR}/zbx_instance/snmptraps" \
              "${DATA_DIR}/zabbix/mibs" \
              "${DATA_DIR}/nginx/ssl/nginx"

    # 设置权限（可根据需要调整）
    find "${DATA_DIR}" -type d -exec chmod 775 {} \;
    echo "Directory permissions updated"
}

start_zabbix(){
    echo "Starting Zabbix stack with version: $ZBX_VERSION"
    docker-compose -f "${base_dir}/docker-compose.yml" up -d
}

main(){
    create_dir
    start_zabbix
}

main
